/**
 * project: finance-manage
 * package: com.example.interfaces
 * 用户请求控制器接口
 * 实现于 com.example.controllers;
 */

package com.example.interfaces;

import com.example.models.JsonModel;

/**
 * 账户操作接口
 */
public interface AccountControlInterface {

    /**
     * 注册新用户
     *
     * @param username 用户名
     * @param password 密码
     * @return JsonModel 返回结果
     */
    public JsonModel register(String username, String password);

    /**
     * 用户登录
     *
     * @param username 用户名
     * @param inputPwd 输入的密码
     * @return JsonModel 返回结果
     */
    JsonModel login(String username, String inputPwd);

    /**
     * 修改密码
     *
     * @param username 用户名
     * @param pic      验证信息
     * @param oldPwd   旧密码
     * @param newPwd   新密码
     * @return JsonModel 返回结果
     */
    JsonModel changePwd(String username, String pic, String oldPwd, String newPwd);

    /**
     * 关闭数据库连接
     */
    void close();
}
